Layouting of interconnect lines in integrated circuits

ABSTRACT

The invention relates to an integrated circuit comprising: a row of sink cells, a first driver cell, a second driver cell, an interconnect line connecting the first driver cell to the sink cells of the row; and a shunt line connecting the second driver cell to a point between ends of the interconnect line, wherein a segment of the interconnect line between the point and the first driver cell is bigger than 60% of a length the interconnect line and less than 80% of the length of the interconnect line.

BACKGROUND

Modern integrated circuits have billions of discrete elements (e.g.transistors). Terminals of the discrete elements are connected bymulti-level wiring. The wiring is one of the critical elements of theintegrated circuits determining an upper limit of clock frequencies ofthe integrated circuits. The wiring has to be designed in a way that itenables error free propagation of electrical signals synchronized withthe clock frequency. This means that electrical signals have to bereceived at receiving terminals within a time window in a tact interval.The receipt of electrical signals has to be error free. As usual itrequires not only timely receiving of the electrical signals at thereceiving terminals but also satisfying a required slew rate of theelectrical signals at the receiving terminals.

Modern digital circuitry has tolerances for error free propagation ofelectrical signals in the picosecond range. The problem of finding anappropriate wiring topology is complicated by the need to designinterconnect lines and the driving cells generating signals in theinterconnect lines complying with the design rules. In a case when aninterconnect line connects many sink cells to a driver cells an approachbased on straightforward increase in a driving strength of the drivercell and a current loading capacity of the interconnect line can becounterproductive. For instance, a required cross-section of theinterconnect line can substantially exceed the cross-section of themetallization wires in the metallization layer comprising theinterconnect line and/or the driver cell might need to have very bigtransistors of the output cascade in order to provide required risingand/or falling slew rate of a signal generated at input terminals of thesink cells. In order to avoid big topological disparity between otherelements of the design and the driver cell and/or interconnect lineand/or in order to generate layouts of the driver cell and/orinterconnect line complying with the design rules the interconnectedlines are shunted by the shunt lines. The shunt lines can be connectedto the same driver cells as the respective interconnect lines, or theycan be connected to additional/auxiliary driver cells. When the shuntlines are employed for facilitating of the propagation of the electricalsignals in the respective interconnect lines, not only propagation ofelectrical signals in the wiring as such (e.g. interconnect lines) hasto be taken into account but parasitic electromagnetic interactions ofelectrical signals propagating in adjacent wires (e.g. interconnect lineand its shunt line) have to be taken into account as well. The last butnot least problem is that a complete performance of the wiring can becalculated only when the wiring topology is completely generated. As aconsequence a process of generation of the wiring topology is performedas usual just using simple design rules being primarily derived fromconstraints of an integrated circuit manufacturing process. Thus thereis a need to improve the process of the generation of the wiringtopology in a way that information related to the electrical performanceof the wiring is taken into account during generation of the wiringtopology resulting in a solution meeting the requirements of electricalperformance of the wiring.

SUMMARY

A driving strength of a source cell (e.g. driver cell) is, as understoodhere, a function of a rising slew rate and/or a falling slew rate of asignal generated by the source cell at an input terminal of a test load(e.g. capacitive) test when the source cell is connected to a source ofelectrical signal. Optionally, the function can be equal to either therising slew or the falling slew rate.

The present invention provides for a method for generating layouts ofshunted interconnection lines connecting source cells (e.g. drivercells) and sink cells in an integrated circuit (IC) and an IC generatedaccording to the method.

One embodiment provides for an IC, comprising: a row of sink cells, afirst driver cell, a second driver cell, an interconnect line connectingthe first driver cell to the sink cells of the row, and a shunt lineconnecting the second driver cell to a point between ends of theinterconnect line, wherein a segment of the interconnect line betweenthe point and the first driver cell is bigger than 60% of a length theinterconnect line and less than 80% of the length of the interconnectline.

Another embodiment provides for a computer-implemented method forlayouting an interconnect line of an integrated circuit, IC, comprising:receiving a specification of propagation of an electrical signal in theinterconnect line, the interconnect line connecting sink cells of the ICwith a first driver cell connected to a source of the electrical signal,the sink cells being layouted in the IC as a row of the sink cells;generating a layout of the interconnect line and a shunt line of theinterconnect line, the shunt line connecting a second driver cell withthe interconnect line at a first point on the interconnect line, thesecond driver cell being connected to the source of the electricalsignal, wherein a length of a segment of the interconnect line betweenthe first driver cell and the first point is equal to a first lengthbeing less than a length of the interconnect line; generating a layoutof the first driver cell having a minimum required driving strengthrequired for propagating the electrical signal in a first segment of theword line between the first driver cell and a second point on theinterconnect line having a first propagation property at the secondpoint complying with the specification in assumption that interconnectline is disconnected at the second point, wherein a length of the firstsegment is a second length being less than the first length; andgenerating a layout of the second driver cell having a minimum requireddriving strength required for propagating the electrical signal in asecond segment of the interconnect line between an open end of theinterconnect line and the second point having a second propagationproperty at the second point complying with the specification and athird propagation property at the open end complying with thespecification in assumption that the interconnect line is disconnectedat the second point.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

In the following embodiments of the invention are explained in greaterdetail, by way of example only, making reference to the drawings inwhich:

FIGS. 1a-d depict a flow diagram of a process for generating of layoutsof an interconnect line and a shunt line.

FIGS. 2a-d depict circuit diagrams corresponding to the layouts of theinterconnect line and the shunt line generated throughout execution ofthe method.

FIG. 3 depicts a flow diagram of a design process used in semiconductordesign, manufacture, and/or test.

DETAILED DESCRIPTION

Source cells (e.g. driver cells) and sink cells (e. g. memory cells) areconnected by interconnect lines (e.g. word lines) in ICs. In order toavoid unacceptable distortion of an electrical signal propagating fromthe driver cell to the sink cells along the interconnect line connectingthe source cell to the sink cells a shunt line can be used. The shuntline can be connected to the same driver cell as the interconnect lineor to another driver cell connected to the same source of an electricalsignal as the driver cell connected to the interconnect line. The shuntline is further connected to the interconnect line in one or morepoints. Optimum allocation of these points and minimization of theirnumber enable reduction of parasitic load (e.g. capacitive load) of theinterconnect line and/or shunt line because the interconnect line andthe shunt line are allocated in different metallization levels of theIC, as usual the shunt line is allocated above the interconnect line ina metallization layer being above a metallization layer in which theinterconnect line is allocated. In its own turn, minimization of theparasitic load enables reduction in a driving strength of the drivingcells and reduction in an IC power consumption. Minimization of thedriving strength of the source cell (e.g. driver cell) has its benefitas well because it enables reduction in its geometrical footprint basedon utilization of transistors having reduced geometrical footprint,since the driving strength is determined among other factors by atransistor channel width.

Although topologies of the interconnect line and the shunt line are verysimple, as usual they are two metallization lines, wherein theinterconnect line is allocated below the shunt line, the choice ofoptimum allocation of one or more pins connecting the interconnect lineand the shunt line is a difficult task, especially when it is performedin conjunction with selection of optimum driving strength of the drivingcells. Such a multi-parameter optimization requires an effectivealgorithm of optimization enabling determination of the optical layout.Straight-forward evaluation of all possible combinations of parametersdoes not seem to be a feasible approach which can lead to the optimalsolution without demanding awesome computer resources.

FIGS. 1a-1d depict a flow chart of a method for generating layouts of aninterconnect line 220, a shunt line 230, a second driver cell 201 (i.e.a driver cell of the shunt line), and a first driver cell 200 (i.e. adriver cell of the interconnect line), which example electrical circuitdiagram is depicted on FIG. 2a . The interconnect line connects thefirst driver 200 cell of the interconnect line with sink cells 1-12,which can be layouted as a row of the sink cells. The interconnect linecan connect any arbitrary number of the sink cells to the first drivercell. The interconnect line can be a word line. The sink cells can bememory cells. Each of the sink cells can have more than one inputterminal connected to the interconnect line. The first driver cell andthe second driver cell can be connected to the same source of anelectrical signal.

In a process block 100 as specification of propagation of an electricalsignal in the interconnect line is received. The specification cancomprise a time of propagation of an electrical signal in theinterconnect line, and/or rising slew rates at input terminals of thesink cells, and/or falling slew rates at input terminals of the sinkcells.

A process block 102 is executed after the process block 100, wherein alayout of the interconnect line 220 and layout of the shunt line 230 ofthe interconnect line are generated. The shunt line connects the seconddriver cell with the interconnect line at a first point on theinterconnect line. A length of a segment 221-225 of the interconnectline between the first driver cell and the first point is equal to afirst length being less than a length of the interconnect line 220.Preferably the first length is bigger than 60% of the length of theinterconnect line and less than 80% of the length of the interconnectline. More preferably the first length is bigger than 63% of the lengthof the interconnect line and less than 69% of the length of theinterconnect line.

Process blocks 105 and 106 are executed after the process block 102 inany sequence or in parallel to each other. In the process block 105 alayout of the first driver cell is generated. The first driver cell hasa minimum required driving strength required for propagating theelectrical signal in a first segment 221-223 of the word line betweenthe first driver cell 200 and a second point 223 on the interconnectline. The electrical signal propagated in the first segment has a firstpropagation property at the second point 223 complying with thespecification of the propagation of the electrical signal in theinterconnect line, which was received in the process block 100. Theminimum required strength of the first driver cell can be determined inassumption that interconnect line 220 is disconnected at the secondpoint 223 and as option the second driver 201 is disabled. A length ofthe first segment is a second length being less than the first length.Preferably the second length is bigger than 25% of the length of theinterconnect line and less than 35% of the length of the interconnectline. More preferably the first length is bigger than 31% of the lengthof the interconnect line and less than 36% of the length of theinterconnect line.

In the process block 106 a layout of the second driver cell isgenerated. The second driver cell has a minimum required drivingstrength required for propagating the electrical signal in a secondsegment 227 of the interconnect line between an open end 227 of theinterconnect line and the second point 223. The electrical signalpropagated in the second segment has a second propagation property atthe second point complying with the specification of the propagation ofthe electrical signal in the interconnect line, which was received inthe process block 100. The electrical signal propagated in the secondsegment has a third propagation property at the open end complying withthe specification of the propagation of the electrical signal in theinterconnect line, which was received in the process block 100. Theminimum required strength of the second driver cell can be determined inassumption that interconnect line 220 is disconnected at the secondpoint 223 and as option the first driver 201 is disabled.

An output cascade of the first (second) driver cell can be a pair of ann-type field effect transistor (n-FET) and a p-type field effecttransistor (p-FET) connected in series. In this case, a rising slew rateof an electrical signal generated by the first (second) driver cell inthe interconnect line is determined by properties of the p-FET and thefalling slew rate of an electrical signal generated by the first(second) driver cell in the interconnect line is determined by theproperties of the n-FET. In the light of the definition formulated abovethe driving strength of the first driver can be a measure of either afalling slew rate or rising slew rate of an electrical signal generatedby the first (second) driver cell in the interconnect line. When thereis a need to compare in absolute terms driving strength of differentdriver cells, than a driving slew rate and/or falling slew rate has tobe evaluated when the different driver cells receive via their inputterminals the same electrical signals and connected to the same testloads in the same way. A sink cell having its input terminal connectedto the driver cell can function as test load.

In the light of the definition of the driving strength formulated abovethe driving strength of the first driver cell and the second driver cellcan be formulated as follows. The driving strength of the first drivercell is a function of a rising slew rate and/or a falling slew rate of asignal generated by the first driver cell at an input terminal of thesink cell, when only an input terminal of the first driver cell isconnected to the source of the electrical signal and only said inputterminal of the sink cell is connected to an output terminal of thefirst driver cell. The driving strength of the second driver cell is thefunction of a rising slew rate and/or a falling slew rate of a signalgenerated by the second driver cell at said input terminal of the sinkcell, when only an input terminal of the second driver cell is connectedto the source of the electrical signal and only said input terminal ofthe sink cell is connected to an output terminal of the second drivercell. The connection of said input terminal of the first driver cell tothe source of the electrical signal is the same as the connection ofsaid input terminal of the second driver to the source of the electricalsignal. The connection of said output terminal of the first driver cellto said input terminal of the sink cell is the same as the connection ofsaid output terminal of the second driver cell to said input terminal ofthe sink cell.

FIG. 2b depicts an example circuit diagram of a layout which can begenerated after execution of the process blocks 100, 102, 105, and 106.In this case the interconnect line connects sink cells 1-12 to the firstdriver cell 200. The shunt line 230 connects the second driver cell 201to the interconnect line 220 in the first point 225. The first length ofthe segment of the interconnect line between an output terminal of thefirst driver cell 200 and the first point 225 is equal to two thirds ofa length of the interconnect line. The first point is allocated on theinterconnect line between connections of the sink cells 8 and 9. Thesecond point 223 is allocated at the interconnect line in the middlebetween the first point and the output terminal of the first drive cell,i.e. between connections of the sink cells 4 and 5. The second length ofthe first segment of the interconnect line between the second point andthe output terminal of the first driver cell is equal to one third ofthe length of the interconnect line. The length of the second segment ofthe interconnect line between the open end of the interconnect line 227and the second point is equal to two thirds of the length of theinterconnect line.

A process block 107 is executed after the process blocks 105 and 106. Inthe process block 107 a further layout of the first driver cell isgenerated. The further layout has a minimum required driving strengthrequired for propagating the electrical signal in the first segmenthaving another first propagation property at the second point matchingthe second propagation property obtained in the previously executedprocess block 106. The further layout can be generated in assumptionthat the interconnect line 220 is disconnected at the second point 223and as option the second driver cell is disabled.

The first and/or the second and/or the third propagation propertycomprise at least one of the following: rising slew rate, falling slewrate, and propagation time.

The another first propagation property matches the second propagationproperty when at least one of the following criteria is fulfilled: apropagation time of the another first propagation property differs froma propagation time of the second propagation property less than a firstpredefined value, a rising slew rate of the another first propagationproperty differs from a rising slew rate of the second propagationproperty less than a second predefined value, and a falling slew rate ofthe another first propagation property differs from a falling slew rateof the second propagation property less than a third predefined value.

Alternatively, the further layout generated in the process block 107 canbe generated in assumption that the first and the second driver cellsare enabled and the interconnect line is connected at the second point.In this case the further layout of the first driver cell can have aminimum required driving strength required for propagating theelectrical signal in the interconnect line having another firstpropagation property at the second point complying with thespecification of the propagation of the electrical signal in theinterconnect line, which was received in the process block 100, and forproviding an absolute value of an electrical current flowing through thesecond point being below a predefined value.

In a case when the driving strength of the first driver cell having thepreviously generated layout (i.e. in process block 105, which wasexecuted last among other executed process blocks 105, if any) exceedsthe driving strength of the first driver cell having the newly generatedlayout (i.e. in process block 107, which was executed last among otherexecuted process blocks 107, if any) by a fourth predefined value aprocess block 108 is executed, wherein the first length is increased bya first increment value and the second length is increased by a secondincrement value. The first increment value is less than the secondincrement value. Preferably the first increment value is bigger thanzero and less than 10% of the first length and the second incrementvalue is bigger than zero and less than 10% of the second length. Morepreferably the first increment value is bigger than 3% and less than 7%of the first length and the second increment value is bigger than 3% andless than 7% of the second length. The first increment value and thesecond increment value have to be selected in a way that the increasedfirst length is bigger than the increased second length and less thanthe length of the interconnect line.

In a case when the driving strength of the first driver having the newlygenerated layout (i.e. in process block 107, which was executed lastamong other executed process blocks 107, if any) exceeds the drivingstrength of the first driver cell having the previously generated layout(i.e. in process block 105, which was executed last among other executedprocess blocks 105, if any) by a fifth predefined value a process block110 is executed, wherein the first length is decreased by a firstdecrement value and the second length is decreased by a second decrementvalue. The first decrement value is less than the second decrementvalue. Preferably the first decrement value is bigger than zero and lessthan 10% of the first length and the second decrement value is biggerthan zero and less than 10% of the second length. More preferably thefirst decrement value is bigger than 3% and less than 7% of the firstlength and the second decrement value is bigger than 3% and less than 7%of the second length. The first decrement value and the second decrementvalue have to be selected in a way that the decreased second length isbigger than zero and less than the first length.

After updating the first length and the second length in one of theprocess blocks 108 and 110 a process block 109 is executed. In thisprocess block the layout of the shunt line is updated in a way that theupdated layout is based on the updated first length. The process blocks105 and 106 are executed after the process block 109 in any sequence orsimultaneously.

FIG. 2b depicts an updated circuit diagram, which previous state isdepicted on FIG. 2a . The updated circuit diagram corresponds to theupdated layout after execution of the process steps 108 and 109. Incontrast to the circuit diagram depicted on FIG. 1a the circuit diagramdepicted on FIG. 2b corresponds to the updated layout wherein the firstlength and the second length are increased. The first point on theinterconnect line is allocated between connections of the sink cells 9and 10, while the second point on the interconnect line is allocatedbetween connections of the sink cells 6 and 7.

FIG. 2c depicts an updated circuit diagram, which previous state isdepicted on FIG. 2a . The updated circuit diagram corresponds to theupdated layout after execution of the process steps 110 and 109. Incontrast to the circuit diagram depicted on FIG. 1a the circuit diagramdepicted on FIG. 2c corresponds to the updated layout wherein the firstlength and the second length are decreased. The first point on theinterconnect line is allocated between connections of the sink cells 2and 3, while the second point on the interconnect line is allocatedbetween connections of the sink cells 8 and 7.

In a case when the driving strength of the first driver cell having thepreviously generated layout (i.e. in process block 105, which wasexecuted last among other executed process blocks 105, if any) does notexceed the driving strength of the first driver cell having the newlygenerated layout (i.e. in process block 107, which was executed lastamong other executed process blocks 107, if any) by the fourthpredefined value and the driving strength of the first driver having thenewly generated layout (i.e. in process block 107, which was executedlast among other executed process blocks 107, if any) does not exceedthe driving strength of the first driver cell having the previouslygenerated layout (i.e. in process block 105, which was executed lastamong other executed process blocks 105, if any) by the fifth predefinedvalue a process block 111 is executed. In the process block 111 theprocess of iterative layout optimization via the loop A-D and/or theloop B-D (FIGS. 1a-c ) is stopped. The resulting layout can be savedand/or used as building block for further IC layouting. Alternatively,before the saving and or the using of the layout at least one of thefollowing optional process blocks 112 and 113 can be executed. Theprocess blocks 112 and 113 can be executed in different sequence or inparallel.

In the process block 113, the layout of the interconnect line is updatedin a way that the interconnect line is disconnected in the second point223, wherein the position of the second point on the interconnect lineis its actual position.

In the process block 112, the layout of the shunt line is updated in ina way, that it is connected to the interconnect line at a third point. Alength of a third segment of the interconnect line between the firstdriver cell (e.g. output terminal of the first driver cell) and thethird point is bigger than 60% of the length of the interconnect lineand less than 80% of the length of the interconnect line. Preferably thelength of the third segment is bigger than 63% of the interconnect lineand less than 69% of the length of the interconnect line. Having twoconnections (e.g. pins) between the shunt line and the interconnect linecan be advantageous because of increased reliability/yield of theprocess employed for manufacturing of the IC comprising the layoutgenerated according to the aforementioned method. When due tomanufacturing failure one of the pins does not provide an electricalconnection between the shunt line and the interconnect line, another pincan provide the electrical connection between the shunt line and theinterconnect line and as a result thereof keep the circuitry functional.

FIG. 2d depicts an updated circuit diagram, which previous state isdepicted on FIG. 2c . The updated circuit diagram corresponds to theupdated layout after execution of the process steps 111 and 113. Incontrast to the circuit diagram depicted on FIG. 2c the circuit diagramdepicted on FIG. 2d corresponds to the updated layout wherein the shuntline is connected to the interconnect line in two points. The connection231 of the shunt line to the interconnect line in the first pointbetween the sink cells 7 and 8 was previously generated when the processblock 110 was executed. The additional connection 232 of the shunt lineto the interconnect line in a third point between the sink cells 8 and 9is generated in the process block 112.

Various combinations of optional features specified in the processblocks 105-107 can be selected for implementing different embodiments ofthe method. In one embodiment the process blocks 105-107 are executed inassumption that the interconnect line is disconnected at the secondpoint. In another embodiment, the process blocks 105 and 106 areexecuted in assumption that the interconnect line is disconnected at thesecond point and the process block 107 is executed in assumption thatthe interconnect line is connected at the second point and the first andthe second driver cells are enabled.

The IC which layout is generated according to the aforementioned methodcan comprise the following elements: a row of sink cells, a first drivercell (or a first source cell), a second driver cell (a second sourcecell), an interconnect line connecting the first driver cell to the sinkcells of the row, and a shunt line connecting the second driver cell toa point between ends of the interconnect line.

The IC can further comprise a multilayer metallization on top of asemiconductor wafer. The row of the sink cells, the first and the seconddriver cell are comprised in the semiconductor wafer. The multilayermetallization comprises at least two metallization layers. Theinterconnect line being comprised in one of the metallization layers.The shunt line being comprised in another one of the metallizationlayers being above the one of the metallization layers in the multilayermetallization.

The first and the second driver cells are connected to a common signalline in the IC.

A segment of the interconnect line between the point and the firstdriver cell can be bigger than 60% of a length the interconnect line andless than 80% of the length of the interconnect line.

The shunt line can be further connected to another point 226 between theends of the interconnect line. In one embodiment, a segment of theinterconnect line between the another point and the first driver cellcan be bigger than 40% of the length of the interconnect line and lessor equal to 60% of the length of the interconnect line. In anotherembodiment, the segment of the interconnect line between the anotherpoint and the first driver cell is bigger than 80% of the length of theinterconnect line.

The IC can be a semiconductor memory device. The sink cells can bememory cells. The interconnect line can be a word line.

FIG. 3 is a flow diagram of a design process used in semiconductordesign, manufacture, and/or test. The process for generating of layoutsof interconnect lines and shunt lines connecting the driver cells to thesink cells in an integrated circuit, which flow diagram is depicted onFIGS. 1a -d, can be a part of the design process depicted on FIG. 3.FIG. 2 shows a block diagram of an exemplary design flow 900 used forexample, in semiconductor IC logic design, simulation, test, layout, andmanufacture. Design flow 900 includes processes, machines and/ormechanisms for processing design structures or devices to generatelogically or otherwise functionally equivalent representations of thedesign structures and/or devices described above and shown in FIGS. 2a-d. The design structures processed and/or generated by design flow 900may be encoded on machine-readable transmission or storage media toinclude data and/or instructions that when executed or otherwiseprocessed on a data processing system generate a logically,structurally, mechanically, or otherwise functionally equivalentrepresentation of hardware components, circuits, devices, or systems.Machines include, but are not limited to, any machine used in an ICdesign process, such as designing, manufacturing, or simulating acircuit, component, device, or system. For example, machines mayinclude: lithography machines, machines and/or equipment for generatingmasks (e.g. e-beam writers), computers or equipment for simulatingdesign structures, any apparatus used in the manufacturing or testprocess, or any machines for programming functionally equivalentrepresentations of the design structures into any medium (e.g. a machinefor programming a programmable gate array).

Design flow 900 may vary depending on the type of representation beingdesigned. For example, a design flow 900 for building an applicationspecific IC (ASIC) may differ from a design flow 900 for designing astandard component or from a design flow 900 for instantiating thedesign into a programmable array, for example a programmable gate array(PGA) or a field programmable gate array (FPGA) offered by Altera® Inc.or Xilinx® Inc.

FIG. 3 illustrates multiple such design structures including an inputdesign structure 920 that is preferably processed by a design process910. Design structure 920 may be a logical simulation design structuregenerated and processed by design process 910 to produce a logicallyequivalent functional representation of a hardware device. Designstructure 920 may also or alternatively comprise data and/or programinstructions that when processed by design process 910, generate afunctional representation of the physical structure of a hardwaredevice. Whether representing functional and/or structural designfeatures, design structure 920 may be generated using electroniccomputer-aided design (ECAD) such as implemented by a coredeveloper/designer. When encoded on a machine-readable datatransmission, gate array, or storage medium, design structure 920 may beaccessed and processed by one or more hardware and/or software moduleswithin design process 910 to simulate or otherwise functionallyrepresent an electronic component, circuit, electronic or logic module,apparatus, device, or system such as this shown in FIGS. 2a -d. As such,design structure 920 may comprise files or other data structuresincluding human and/or machine-readable source code, compiledstructures, and computer-executable code structures that when processedby a design or simulation data processing system, functionally simulateor otherwise represent circuits or other levels of hardware logicdesign. Such data structures may include hardware-description language(HDL) design entities or other data structures conforming to and/orcompatible with lower-level HDL design languages such as Verilog andVHDL, and/or higher level design languages such as C or C++.

Design process 910 preferably employs and incorporates hardware and/orsoftware modules for synthesizing, translating, or otherwise processinga design/simulation functional equivalent of the components, circuits,devices, or logic structure shown in FIGS. 2a-d to generate a netlist980 which may contain design structures such as design structure 920.Netlist 980 may comprise, for example, compiled or otherwise processeddata structures representing a list of wires, discrete components, logicgates, control circuits, I/O devices, models, etc. that describes theconnections to other elements and circuits in an integrated circuitdesign. Netlist 980 may be synthesized using an iterative process inwhich netlist 980 is resynthesized one or more times depending on designspecifications and parameters for the device. As with other designstructure types described herein, netlist 980 may be recorded on amachine-readable data storage medium or programmed into a programmablegate array. The medium may be a non-volatile storage medium such as amagnetic or optical disk drive, a programmable gate array, a compactflash, or other flash memory. Additionally, or in the alternative, themedium may be a system or cache memory, buffer space, or electrically oroptically conductive devices and materials on which data packets may betransmitted and intermediately stored via the Internet, or othernetworking suitable means.

Design process 910 may include hardware and software modules forprocessing a variety of input data structure types including netlist980. Such data structure types may reside, for example, within libraryelements 930 and include a set of commonly used elements, circuits, anddevices, including models, layouts, and symbolic representations, for agiven manufacturing technology (e.g., different technology nodes, 32 nm,45 nm, 90 nm, etc.). The data structure types may further include designspecifications 940, characterization data 950, verification data 960,design rules 970, and test data files 985 which may include input testpatterns, output test results, and other testing information. Designprocess 910 may further include, for example, standard mechanical designprocesses such as stress analysis, thermal analysis, mechanical eventsimulation, process simulation for operations such as casting, molding,and die press forming, etc. One of ordinary skill in the art ofmechanical design can appreciate the extent of possible mechanicaldesign tools and applications used in design process 910 withoutdeviating from the scope and spirit of the invention. Design process 910may also include modules for performing standard circuit designprocesses such as timing analysis, verification, design rule checking,place and route operations, etc.

Design process 910 employs and incorporates logic and physical designtools such as HDL compilers and simulation model build tools to processdesign structure 920 together with some or all of the depictedsupporting data structures along with any additional mechanical designor data (if applicable), to generate a second design structure 990.

Design structure 990 resides on a storage medium or programmable gatearray in a data format used for the exchange of data of mechanicaldevices and structures (e.g. information stored in a IGES, DXF,Parasolid XT, JT, DRG, or any other suitable format for storing orrendering such mechanical design structures). Similar to designstructure 920, design structure 990 preferably comprises one or morefiles, data structures, or other computer-encoded data or instructionsthat reside on transmission or data storage media and that whenprocessed by an ECAD system generate a logically or otherwisefunctionally equivalent form of one or more of the embodiments of theinvention shown in FIGS. 1a-d and 2a -d. In one embodiment, designstructure 990 may comprise a compiled, executable HDL simulation modelthat functionally simulates the devices shown in FIGS. 2a -d.

Design structure 990 may also employ a data format used for the exchangeof layout data of integrated circuits and/or symbolic data format (e.g.information stored in a GDSII (GDS2), GL1, OASIS, map files, or anyother suitable format for storing such design data structures). Designstructure 990 may comprise information such as, for example, symbolicdata, map files, test data files, design content files, manufacturingdata, layout parameters, wires, levels of metal, vias, shapes, data forrouting through the manufacturing line, and any other data required by amanufacturer or other designer/developer to produce a device orstructure as described above and shown in FIGS. 1a -d. Design structure990 may then proceed to a stage 995 where, for example, design structure990: proceeds to tape-out, is released to manufacturing, is released toa mask house, is sent to another design house, is sent back to thecustomer, etc.

The method as described above is used in the fabrication of integratedcircuit chips. The resulting integrated circuit chips can be distributedby the fabricator in raw wafer form (that is, as a single wafer that hasmultiple unpackaged chips), as a bare die, or in a packaged form. In thelatter case the chip is mounted in a single chip package (such as aplastic carrier, with leads that are affixed to a motherboard or otherhigher level carrier) or in a multichip package (such as a ceramiccarrier that has either or both surface interconnections or buriedinterconnections). In any case the chip is then integrated with otherchips, discrete circuit elements, and/or other signal processing devicesas part of either (a) an intermediate product, such as a motherboard, or(b) an end product. The end product can be any product that includesintegrated circuit chips, ranging from toys and other low-endapplications to advanced computer products having a display, a keyboardor other input device, and a central processor.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, or either source code or object code written in anycombination of one or more programming languages, including an objectoriented programming language such as Smalltalk, C++ or the like, andconventional procedural programming languages, such as the “C”programming language or similar programming languages. The computerreadable program instructions may execute entirely on the user'scomputer, partly on the user's computer, as a stand-alone softwarepackage, partly on the user's computer and partly on a remote computeror entirely on the remote computer or server. In the latter scenario,the remote computer may be connected to the user's computer through anytype of network, including a local area network (LAN) or a wide areanetwork (WAN), or the connection may be made to an external computer(for example, through the Internet using an Internet Service Provider).In some embodiments, electronic circuitry including, for example,programmable logic circuitry, field-programmable gate arrays (FPGA), orprogrammable logic arrays (PLA) may execute the computer readableprogram instructions by utilizing state information of the computerreadable program instructions to personalize the electronic circuitry,in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture including instructions which implement aspects ofthe function/act specified in the flowchart and/or block diagram blockor blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the block may occur out of theorder noted in the figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions.

The descriptions of the various embodiments of the present inventionhave been presented for purposes of illustration, but are not intendedto be exhaustive or limited to the embodiments disclosed. Manymodifications and variations will be apparent to those of ordinary skillin the art without departing from the scope and spirit of the describedembodiments. The terminology used herein was chosen to best explain theprinciples of the embodiments, the practical application or technicalimprovement over technologies found in the marketplace, or to enableothers of ordinary skill in the art to understand the embodimentsdisclosed herein.

What is claimed is:
 1. A computer-implemented method for layouting aninterconnect line of an integrated circuit, IC, comprising: receiving aspecification of propagation of an electrical signal in the interconnectline, the interconnect line connecting sink cells of the IC with a firstdriver cell connected to a source of the electrical signal, the sinkcells being layouted in the IC as a row of the sink cells; generating alayout of the interconnect line and a shunt line of the interconnectline, the shunt line connecting a second driver cell with theinterconnect line at a first point on the interconnect line, the seconddriver cell being connected to the source of the electrical signal,wherein a length of a segment of the interconnect line between the firstdriver cell and the first point is equal to a first length being lessthan a length of the interconnect line; generating a layout of the firstdriver cell having a minimum required driving strength required forpropagating the electrical signal in a first segment of the interconnectline between the first driver cell and a second point on theinterconnect line having a first propagation property at the secondpoint complying with the specification in assumption that interconnectline is disconnected at the second point, wherein a length of the firstsegment is a second length being less than the first length; andgenerating a layout of the second driver cell having a minimum requireddriving strength required for propagating the electrical signal in asecond segment of the interconnect line between an open end of theinterconnect line and the second point having a second propagationproperty at the second point complying with the specification and athird propagation property at the open end complying with thespecification in assumption that the interconnect line is disconnectedat the second point.
 2. The method of claim 1, wherein the first and/orthe second and/or the third propagation property comprise at least oneof the following: rising slew rate, falling slew rate, and propagationtime.
 3. The method of claim 1, wherein the first length is bigger than60% of the length of the interconnect line and less than 80% of thelength of the interconnect line, wherein the second length is biggerthan 25% of the interconnect line and less than 35% of the length of theinterconnect line.
 4. The method of claim 1, the method furthercomprising: generating a further layout of the first driver cell havinga minimum required driving strength required for propagating theelectrical signal in the first segment having another first propagationproperty at the second point matching the second propagation property inassumption that the interconnect line is disconnected at the secondpoint; updating the first length and the second length, wherein in acase when the driving strength of the first driver cell having thepreviously generated layout exceeds the driving strength of the firstdriver cell having the newly generated layout by a first predefinedvalue increasing the first length by a first increment value and thesecond length by a second increment value and in a case when the drivingstrength of the first driver having the newly generated layout exceedsthe driving strength of the first driver cell having the previouslygenerated layout by a second predefined value decreasing the firstlength by a first decrement value and the second length by a seconddecrement value, wherein the first decrement value is bigger than thesecond decrement value, wherein the first increment value is less thanthe second increment value; and after the updating of the first lengthand the second length updating the layout of the shunt line in a waythat it is based on the updated first length and repeating execution ofthe generating of the layout of the first driver cell having a minimumrequired driving strength required for propagating the electrical signalin the first segment of the interconnect line between the first drivercell and the second point on the interconnect line having a firstpropagation property at the second point complying with thespecification in assumption that interconnect line is disconnected atthe second point; and the generating of the layout of the second drivercell having a minimum required driving strength required for propagatingthe electrical signal in the second segment of the interconnect linebetween the open end of the interconnect line and the second pointhaving a second propagation property at the second point complying withthe specification and a third propagation property at the open endcomplying with the specification in assumption that the interconnectline is disconnected at the second point.
 5. The method of claim 4,wherein the first increment value is bigger than zero and less than 10%of the first length, wherein the first decrement value is bigger thanzero and less than 10% of the first length, wherein the second incrementvalue is bigger than zero and less than 20% of the second length,wherein the second decrement value is bigger than zero and less than 20%of the second length.
 6. The method of claim 4, further comprising: in acase when the driving strength of the first driver cell having thepreviously generated layout does not exceed the driving strength of thefirst driver having the newly generated layout by the first predefinedvalue and the driving strength of the first driver cell having the newlygenerated layout does not exceed the driving strength of the firstdriver having the previously generated layout by the second predefinedvalue executing at least one of the following: updating the layout ofthe interconnect line in a way that it is disconnected in the secondpoint; and updating the layout of the shunt line in a way that it isconnected to the interconnect line at a third point, wherein a length ofa third segment of the interconnect line between the first driver celland the third point is bigger than 60% of the length of the interconnectline and less than 80% of the length of the interconnect line.
 7. Themethod of claim 4, wherein the another first propagation propertymatches the second propagation property when at least one of thefollowing criteria is fulfilled: a propagation time of the another firstpropagation property differs from a propagation time of the secondpropagation property less than a third predefined value; a rising slewrate of the another first propagation property differs from a risingslew rate of the second propagation property less than a fourthpredefined value; and a falling slew rate of the another firstpropagation property differs from a falling slew rate of the secondpropagation property less than a fifth predefined value.
 8. The methodof claim 1, wherein the driving strength of the first driver cell is afunction of a rising slew rate and/or a falling slew rate of a signalgenerated by the first driver cell at an input terminal of the sinkcell, when only an input terminal of the first driver cell is connectedto the source of the electrical signal and only said input terminal ofthe sink cell is connected to an output terminal of the first drivercell, wherein the driving strength of the second driver cell is thefunction of a rising slew rate and/or a falling slew rate of a signalgenerated by the second driver cell at said input terminal of the sinkcell, when only an input terminal of the second driver cell is connectedto the source of the electrical signal and only said input terminal ofthe sink cell is connected to an output terminal of the second drivercell, wherein the connection of said input terminal of the first drivercell to the source of the electrical signal is the same as theconnection of said input terminal of the second driver to the source ofthe electrical signal and the connection of said output terminal of thefirst driver cell to said input terminal of the sink cell is the same asthe connection of said output terminal of the second driver cell to saidinput terminal of the sink cell.
 9. The method of claim 1, the ICfurther comprising a multilayer metallization on top of a semiconductorwafer, wherein the row of the sink cells, the first and the seconddriver cell are comprised in the semiconductor wafer, the multilayermetallization comprising at least two metallization layers, theinterconnect line being comprised in one of the metallization layers,the shunt line being comprised in another one of the metallizationlayers being above the one of the metallization layers in the multilayermetallization.
 10. The method of claim 1, wherein the IC is asemiconductor memory device, the sink cells are memory cells, and theinterconnect line is a word line.
 11. The method of claim 1, the methodfurther comprising: generating a further layout of the first driver cellhaving a minimum required driving strength required for propagating theelectrical signal in the interconnect line having another firstpropagation property at the second point complying with thespecification and an absolute value of an electrical current flowingthrough the second point being below a sixth predefined value inassumption that the second driver cell is enabled; updating the firstlength and the second length, wherein in a case when the drivingstrength of the first driver cell having the previously generated layoutexceeds the driving strength of the first driver cell having the newlygenerated layout by a first predefined value increasing the first lengthby a first increment value and the second length by a second incrementvalue and in a case when the driving strength of the first driver havingthe newly generated layout exceeds the driving strength of the firstdriver cell having the previously generated layout by a secondpredefined value decreasing the first length by a first decrement valueand the second length by a second decrement value, wherein the firstdecrement value is bigger than the second decrement value, wherein thefirst increment value is less than the second increment value; and afterthe updating of the first length and the second length updating thelayout of the shunt line in a way that it is based on the updated firstlength and repeating execution of the generating of the layout of thefirst driver cell having a minimum required driving strength requiredfor propagating the electrical signal in the first segment of theinterconnect line between the first driver cell and the second point onthe interconnect line having a first propagation property at the secondpoint complying with the specification in assumption that interconnectline is disconnected at the second point; and the generating of thelayout of the second driver cell having a minimum required drivingstrength required for propagating the electrical signal in the secondsegment of the interconnect line between the open end of theinterconnect line and the second point having a second propagationproperty at the second point complying with the specification and athird propagation property at the open end complying with thespecification in assumption that the interconnect line is disconnectedat the second point.
 12. A computer-implemented method for layouting aninterconnect line of an integrated circuit, IC, comprising: receiving aspecification of propagation of an electrical signal in the interconnectline, the interconnect line connecting sink cells of the IC with a firstdriver cell connected to a source of the electrical signal, the sinkcells being layouted in the IC as a row of the sink cells; generating alayout of the interconnect line and a shunt line of the interconnectline, the shunt line connecting a second driver cell with theinterconnect line at a first point on the interconnect line, the seconddriver cell being connected to the source of the electrical signal,wherein a length of a segment of the interconnect line between the firstdriver cell and the first point is equal to a first length being lessthan a length of the interconnect line; generating a layout of the firstdriver cell having a minimum required driving strength required forpropagating the electrical signal in the interconnect line having afirst propagation property at a second point on the interconnect linecomplying with the specification in assumption that the second drivercell is disabled, wherein a length of a first segment of theinterconnect line between the first driver cell and the second point isa second length being less than the first length; and generating alayout of the second driver cell having a minimum required drivingstrength required for propagating the electrical signal in theinterconnect line having a second propagation property at the secondpoint complying with the specification and a third propagation propertyat the open end complying with the specification in assumption that thefirst driver cell is disabled.
 13. The method of claim 12, the methodfurther comprising: generating a further layout of the first driver cellhaving a minimum required driving strength required for propagating theelectrical signal in the interconnect line having another firstpropagation property at the second point complying with thespecification and an absolute value of an electrical current flowingthrough the second point being below a sixths predefined value inassumption that the second driver cell is enabled; updating the firstlength and the second length, wherein in a case when the drivingstrength of the first driver cell having the previously generated layoutexceeds the driving strength of the first driver cell having the newlygenerated layout by a first predefined value increasing the first lengthby a first increment value and the second length by a second incrementvalue and in a case when the driving strength of the first driver havingthe newly generated layout exceeds the driving strength of the firstdriver cell having the previously generated layout by a secondpredefined value decreasing the first length by a first decrement valueand the second length by a second decrement value, wherein the firstdecrement value is bigger than the second decrement value, wherein thefirst increment value is less than the second increment value; and afterthe updating of the first length and the second length updating thelayout of the shunt line in a way that it is based on the updated firstlength and repeating execution of the generating of the layout of thefirst driver cell having a minimum required driving strength requiredfor propagating the electrical signal in the interconnect line having afirst propagation property at the second point on the interconnect linecomplying with the specification in assumption that the second drivercell is disabled; and the generating of the layout of the second drivercell having a minimum required driving strength required for propagatingthe electrical signal in the interconnect line having a secondpropagation property at the second point complying with thespecification and a third propagation property at the open end complyingwith the specification in assumption that the first driver cell isdisabled.